const Redis = require('ioredis');
const config = require('./config');

console.log('开始测试Redis连接...');
console.log('Redis配置:', {
    host: config.redis.host,
    port: config.redis.port,
    db: config.redis.db,
    password: '******'
});

// 创建客户端
const client = new Redis({
    host: config.redis.host,
    port: config.redis.port,
    password: config.redis.password,
    db: config.redis.db
});

// 错误处理
client.on('error', function (err) {
    console.log('Redis 连接错误:', err.message);
});

// 连接成功监听
client.on('ready', function () {
    console.log('Redis 连接就绪');
    client.ping().then(() => {
        console.log('Redis PING 测试成功');
        setTimeout(() => {
            client.quit();
            console.log('测试完成，连接已关闭');
            process.exit(0);
        }, 1000);
    }).catch(err => {
        console.error('Redis PING 测试失败:', err.message);
        process.exit(1);
    });
});

// 连接事件
client.on('connect', function () {
    console.log('Redis 已连接');
});

// 5秒超时
setTimeout(() => {
    console.log('连接超时，退出测试');
    process.exit(1);
}, 5000);